package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class HImportMarkErrorExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HImportMarkErrorExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andImeIdIsNull() {
            addCriterion("ime_id is null");
            return (Criteria) this;
        }

        public Criteria andImeIdIsNotNull() {
            addCriterion("ime_id is not null");
            return (Criteria) this;
        }

        public Criteria andImeIdEqualTo(Integer value) {
            addCriterion("ime_id =", value, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdNotEqualTo(Integer value) {
            addCriterion("ime_id <>", value, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdGreaterThan(Integer value) {
            addCriterion("ime_id >", value, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ime_id >=", value, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdLessThan(Integer value) {
            addCriterion("ime_id <", value, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdLessThanOrEqualTo(Integer value) {
            addCriterion("ime_id <=", value, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdIn(List<Integer> values) {
            addCriterion("ime_id in", values, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdNotIn(List<Integer> values) {
            addCriterion("ime_id not in", values, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdBetween(Integer value1, Integer value2) {
            addCriterion("ime_id between", value1, value2, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ime_id not between", value1, value2, "imeId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdIsNull() {
            addCriterion("ime_ity_id is null");
            return (Criteria) this;
        }

        public Criteria andImeItyIdIsNotNull() {
            addCriterion("ime_ity_id is not null");
            return (Criteria) this;
        }

        public Criteria andImeItyIdEqualTo(Integer value) {
            addCriterion("ime_ity_id =", value, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdNotEqualTo(Integer value) {
            addCriterion("ime_ity_id <>", value, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdGreaterThan(Integer value) {
            addCriterion("ime_ity_id >", value, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ime_ity_id >=", value, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdLessThan(Integer value) {
            addCriterion("ime_ity_id <", value, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdLessThanOrEqualTo(Integer value) {
            addCriterion("ime_ity_id <=", value, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdIn(List<Integer> values) {
            addCriterion("ime_ity_id in", values, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdNotIn(List<Integer> values) {
            addCriterion("ime_ity_id not in", values, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdBetween(Integer value1, Integer value2) {
            addCriterion("ime_ity_id between", value1, value2, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeItyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ime_ity_id not between", value1, value2, "imeItyId");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeIsNull() {
            addCriterion("ime_use_sap_code is null");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeIsNotNull() {
            addCriterion("ime_use_sap_code is not null");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeEqualTo(String value) {
            addCriterion("ime_use_sap_code =", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeNotEqualTo(String value) {
            addCriterion("ime_use_sap_code <>", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeGreaterThan(String value) {
            addCriterion("ime_use_sap_code >", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ime_use_sap_code >=", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeLessThan(String value) {
            addCriterion("ime_use_sap_code <", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeLessThanOrEqualTo(String value) {
            addCriterion("ime_use_sap_code <=", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeLike(String value) {
            addCriterion("ime_use_sap_code like", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeNotLike(String value) {
            addCriterion("ime_use_sap_code not like", value, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeIn(List<String> values) {
            addCriterion("ime_use_sap_code in", values, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeNotIn(List<String> values) {
            addCriterion("ime_use_sap_code not in", values, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeBetween(String value1, String value2) {
            addCriterion("ime_use_sap_code between", value1, value2, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseSapCodeNotBetween(String value1, String value2) {
            addCriterion("ime_use_sap_code not between", value1, value2, "imeUseSapCode");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameIsNull() {
            addCriterion("ime_use_mat_name is null");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameIsNotNull() {
            addCriterion("ime_use_mat_name is not null");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameEqualTo(String value) {
            addCriterion("ime_use_mat_name =", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameNotEqualTo(String value) {
            addCriterion("ime_use_mat_name <>", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameGreaterThan(String value) {
            addCriterion("ime_use_mat_name >", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameGreaterThanOrEqualTo(String value) {
            addCriterion("ime_use_mat_name >=", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameLessThan(String value) {
            addCriterion("ime_use_mat_name <", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameLessThanOrEqualTo(String value) {
            addCriterion("ime_use_mat_name <=", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameLike(String value) {
            addCriterion("ime_use_mat_name like", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameNotLike(String value) {
            addCriterion("ime_use_mat_name not like", value, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameIn(List<String> values) {
            addCriterion("ime_use_mat_name in", values, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameNotIn(List<String> values) {
            addCriterion("ime_use_mat_name not in", values, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameBetween(String value1, String value2) {
            addCriterion("ime_use_mat_name between", value1, value2, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseMatNameNotBetween(String value1, String value2) {
            addCriterion("ime_use_mat_name not between", value1, value2, "imeUseMatName");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeIsNull() {
            addCriterion("ime_use_pro_code is null");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeIsNotNull() {
            addCriterion("ime_use_pro_code is not null");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeEqualTo(String value) {
            addCriterion("ime_use_pro_code =", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeNotEqualTo(String value) {
            addCriterion("ime_use_pro_code <>", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeGreaterThan(String value) {
            addCriterion("ime_use_pro_code >", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ime_use_pro_code >=", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeLessThan(String value) {
            addCriterion("ime_use_pro_code <", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeLessThanOrEqualTo(String value) {
            addCriterion("ime_use_pro_code <=", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeLike(String value) {
            addCriterion("ime_use_pro_code like", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeNotLike(String value) {
            addCriterion("ime_use_pro_code not like", value, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeIn(List<String> values) {
            addCriterion("ime_use_pro_code in", values, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeNotIn(List<String> values) {
            addCriterion("ime_use_pro_code not in", values, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeBetween(String value1, String value2) {
            addCriterion("ime_use_pro_code between", value1, value2, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProCodeNotBetween(String value1, String value2) {
            addCriterion("ime_use_pro_code not between", value1, value2, "imeUseProCode");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameIsNull() {
            addCriterion("ime_use_pro_name is null");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameIsNotNull() {
            addCriterion("ime_use_pro_name is not null");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameEqualTo(String value) {
            addCriterion("ime_use_pro_name =", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameNotEqualTo(String value) {
            addCriterion("ime_use_pro_name <>", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameGreaterThan(String value) {
            addCriterion("ime_use_pro_name >", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameGreaterThanOrEqualTo(String value) {
            addCriterion("ime_use_pro_name >=", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameLessThan(String value) {
            addCriterion("ime_use_pro_name <", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameLessThanOrEqualTo(String value) {
            addCriterion("ime_use_pro_name <=", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameLike(String value) {
            addCriterion("ime_use_pro_name like", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameNotLike(String value) {
            addCriterion("ime_use_pro_name not like", value, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameIn(List<String> values) {
            addCriterion("ime_use_pro_name in", values, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameNotIn(List<String> values) {
            addCriterion("ime_use_pro_name not in", values, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameBetween(String value1, String value2) {
            addCriterion("ime_use_pro_name between", value1, value2, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeUseProNameNotBetween(String value1, String value2) {
            addCriterion("ime_use_pro_name not between", value1, value2, "imeUseProName");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumIsNull() {
            addCriterion("ime_ity_ava_num is null");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumIsNotNull() {
            addCriterion("ime_ity_ava_num is not null");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumEqualTo(Double value) {
            addCriterion("ime_ity_ava_num =", value, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumNotEqualTo(Double value) {
            addCriterion("ime_ity_ava_num <>", value, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumGreaterThan(Double value) {
            addCriterion("ime_ity_ava_num >", value, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumGreaterThanOrEqualTo(Double value) {
            addCriterion("ime_ity_ava_num >=", value, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumLessThan(Double value) {
            addCriterion("ime_ity_ava_num <", value, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumLessThanOrEqualTo(Double value) {
            addCriterion("ime_ity_ava_num <=", value, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumIn(List<Double> values) {
            addCriterion("ime_ity_ava_num in", values, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumNotIn(List<Double> values) {
            addCriterion("ime_ity_ava_num not in", values, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumBetween(Double value1, Double value2) {
            addCriterion("ime_ity_ava_num between", value1, value2, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyAvaNumNotBetween(Double value1, Double value2) {
            addCriterion("ime_ity_ava_num not between", value1, value2, "imeItyAvaNum");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkIsNull() {
            addCriterion("ime_ity_remark is null");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkIsNotNull() {
            addCriterion("ime_ity_remark is not null");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkEqualTo(String value) {
            addCriterion("ime_ity_remark =", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkNotEqualTo(String value) {
            addCriterion("ime_ity_remark <>", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkGreaterThan(String value) {
            addCriterion("ime_ity_remark >", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("ime_ity_remark >=", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkLessThan(String value) {
            addCriterion("ime_ity_remark <", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkLessThanOrEqualTo(String value) {
            addCriterion("ime_ity_remark <=", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkLike(String value) {
            addCriterion("ime_ity_remark like", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkNotLike(String value) {
            addCriterion("ime_ity_remark not like", value, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkIn(List<String> values) {
            addCriterion("ime_ity_remark in", values, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkNotIn(List<String> values) {
            addCriterion("ime_ity_remark not in", values, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkBetween(String value1, String value2) {
            addCriterion("ime_ity_remark between", value1, value2, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeItyRemarkNotBetween(String value1, String value2) {
            addCriterion("ime_ity_remark not between", value1, value2, "imeItyRemark");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameIsNull() {
            addCriterion("ime_need_mat_name is null");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameIsNotNull() {
            addCriterion("ime_need_mat_name is not null");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameEqualTo(String value) {
            addCriterion("ime_need_mat_name =", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameNotEqualTo(String value) {
            addCriterion("ime_need_mat_name <>", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameGreaterThan(String value) {
            addCriterion("ime_need_mat_name >", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameGreaterThanOrEqualTo(String value) {
            addCriterion("ime_need_mat_name >=", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameLessThan(String value) {
            addCriterion("ime_need_mat_name <", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameLessThanOrEqualTo(String value) {
            addCriterion("ime_need_mat_name <=", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameLike(String value) {
            addCriterion("ime_need_mat_name like", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameNotLike(String value) {
            addCriterion("ime_need_mat_name not like", value, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameIn(List<String> values) {
            addCriterion("ime_need_mat_name in", values, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameNotIn(List<String> values) {
            addCriterion("ime_need_mat_name not in", values, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameBetween(String value1, String value2) {
            addCriterion("ime_need_mat_name between", value1, value2, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedMatNameNotBetween(String value1, String value2) {
            addCriterion("ime_need_mat_name not between", value1, value2, "imeNeedMatName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeIsNull() {
            addCriterion("ime_need_pro_code is null");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeIsNotNull() {
            addCriterion("ime_need_pro_code is not null");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeEqualTo(String value) {
            addCriterion("ime_need_pro_code =", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeNotEqualTo(String value) {
            addCriterion("ime_need_pro_code <>", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeGreaterThan(String value) {
            addCriterion("ime_need_pro_code >", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ime_need_pro_code >=", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeLessThan(String value) {
            addCriterion("ime_need_pro_code <", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeLessThanOrEqualTo(String value) {
            addCriterion("ime_need_pro_code <=", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeLike(String value) {
            addCriterion("ime_need_pro_code like", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeNotLike(String value) {
            addCriterion("ime_need_pro_code not like", value, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeIn(List<String> values) {
            addCriterion("ime_need_pro_code in", values, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeNotIn(List<String> values) {
            addCriterion("ime_need_pro_code not in", values, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeBetween(String value1, String value2) {
            addCriterion("ime_need_pro_code between", value1, value2, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProCodeNotBetween(String value1, String value2) {
            addCriterion("ime_need_pro_code not between", value1, value2, "imeNeedProCode");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameIsNull() {
            addCriterion("ime_need_pro_name is null");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameIsNotNull() {
            addCriterion("ime_need_pro_name is not null");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameEqualTo(String value) {
            addCriterion("ime_need_pro_name =", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameNotEqualTo(String value) {
            addCriterion("ime_need_pro_name <>", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameGreaterThan(String value) {
            addCriterion("ime_need_pro_name >", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameGreaterThanOrEqualTo(String value) {
            addCriterion("ime_need_pro_name >=", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameLessThan(String value) {
            addCriterion("ime_need_pro_name <", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameLessThanOrEqualTo(String value) {
            addCriterion("ime_need_pro_name <=", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameLike(String value) {
            addCriterion("ime_need_pro_name like", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameNotLike(String value) {
            addCriterion("ime_need_pro_name not like", value, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameIn(List<String> values) {
            addCriterion("ime_need_pro_name in", values, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameNotIn(List<String> values) {
            addCriterion("ime_need_pro_name not in", values, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameBetween(String value1, String value2) {
            addCriterion("ime_need_pro_name between", value1, value2, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeNeedProNameNotBetween(String value1, String value2) {
            addCriterion("ime_need_pro_name not between", value1, value2, "imeNeedProName");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumIsNull() {
            addCriterion("ime_mark_num is null");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumIsNotNull() {
            addCriterion("ime_mark_num is not null");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumEqualTo(Double value) {
            addCriterion("ime_mark_num =", value, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumNotEqualTo(Double value) {
            addCriterion("ime_mark_num <>", value, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumGreaterThan(Double value) {
            addCriterion("ime_mark_num >", value, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumGreaterThanOrEqualTo(Double value) {
            addCriterion("ime_mark_num >=", value, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumLessThan(Double value) {
            addCriterion("ime_mark_num <", value, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumLessThanOrEqualTo(Double value) {
            addCriterion("ime_mark_num <=", value, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumIn(List<Double> values) {
            addCriterion("ime_mark_num in", values, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumNotIn(List<Double> values) {
            addCriterion("ime_mark_num not in", values, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumBetween(Double value1, Double value2) {
            addCriterion("ime_mark_num between", value1, value2, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeMarkNumNotBetween(Double value1, Double value2) {
            addCriterion("ime_mark_num not between", value1, value2, "imeMarkNum");
            return (Criteria) this;
        }

        public Criteria andImeRemarkIsNull() {
            addCriterion("ime_remark is null");
            return (Criteria) this;
        }

        public Criteria andImeRemarkIsNotNull() {
            addCriterion("ime_remark is not null");
            return (Criteria) this;
        }

        public Criteria andImeRemarkEqualTo(String value) {
            addCriterion("ime_remark =", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkNotEqualTo(String value) {
            addCriterion("ime_remark <>", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkGreaterThan(String value) {
            addCriterion("ime_remark >", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("ime_remark >=", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkLessThan(String value) {
            addCriterion("ime_remark <", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkLessThanOrEqualTo(String value) {
            addCriterion("ime_remark <=", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkLike(String value) {
            addCriterion("ime_remark like", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkNotLike(String value) {
            addCriterion("ime_remark not like", value, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkIn(List<String> values) {
            addCriterion("ime_remark in", values, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkNotIn(List<String> values) {
            addCriterion("ime_remark not in", values, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkBetween(String value1, String value2) {
            addCriterion("ime_remark between", value1, value2, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeRemarkNotBetween(String value1, String value2) {
            addCriterion("ime_remark not between", value1, value2, "imeRemark");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonIsNull() {
            addCriterion("ime_error_reason is null");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonIsNotNull() {
            addCriterion("ime_error_reason is not null");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonEqualTo(String value) {
            addCriterion("ime_error_reason =", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonNotEqualTo(String value) {
            addCriterion("ime_error_reason <>", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonGreaterThan(String value) {
            addCriterion("ime_error_reason >", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonGreaterThanOrEqualTo(String value) {
            addCriterion("ime_error_reason >=", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonLessThan(String value) {
            addCriterion("ime_error_reason <", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonLessThanOrEqualTo(String value) {
            addCriterion("ime_error_reason <=", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonLike(String value) {
            addCriterion("ime_error_reason like", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonNotLike(String value) {
            addCriterion("ime_error_reason not like", value, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonIn(List<String> values) {
            addCriterion("ime_error_reason in", values, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonNotIn(List<String> values) {
            addCriterion("ime_error_reason not in", values, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonBetween(String value1, String value2) {
            addCriterion("ime_error_reason between", value1, value2, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeErrorReasonNotBetween(String value1, String value2) {
            addCriterion("ime_error_reason not between", value1, value2, "imeErrorReason");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdIsNull() {
            addCriterion("ime_mark_user_id is null");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdIsNotNull() {
            addCriterion("ime_mark_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdEqualTo(Integer value) {
            addCriterion("ime_mark_user_id =", value, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdNotEqualTo(Integer value) {
            addCriterion("ime_mark_user_id <>", value, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdGreaterThan(Integer value) {
            addCriterion("ime_mark_user_id >", value, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ime_mark_user_id >=", value, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdLessThan(Integer value) {
            addCriterion("ime_mark_user_id <", value, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("ime_mark_user_id <=", value, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdIn(List<Integer> values) {
            addCriterion("ime_mark_user_id in", values, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdNotIn(List<Integer> values) {
            addCriterion("ime_mark_user_id not in", values, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdBetween(Integer value1, Integer value2) {
            addCriterion("ime_mark_user_id between", value1, value2, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ime_mark_user_id not between", value1, value2, "imeMarkUserId");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateIsNull() {
            addCriterion("ime_mark_date is null");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateIsNotNull() {
            addCriterion("ime_mark_date is not null");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateEqualTo(Date value) {
            addCriterionForJDBCDate("ime_mark_date =", value, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("ime_mark_date <>", value, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateGreaterThan(Date value) {
            addCriterionForJDBCDate("ime_mark_date >", value, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ime_mark_date >=", value, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateLessThan(Date value) {
            addCriterionForJDBCDate("ime_mark_date <", value, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ime_mark_date <=", value, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateIn(List<Date> values) {
            addCriterionForJDBCDate("ime_mark_date in", values, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("ime_mark_date not in", values, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ime_mark_date between", value1, value2, "imeMarkDate");
            return (Criteria) this;
        }

        public Criteria andImeMarkDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ime_mark_date not between", value1, value2, "imeMarkDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}